package cn.iocoder.yudao.module.form.service.impl;

import cn.iocoder.yudao.module.form.dataobject.FormTotalChart;
import cn.iocoder.yudao.module.form.mysql.FormTotalChartMapper;
import cn.iocoder.yudao.module.form.service.IFormTotalChartService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.stream.Collectors;

/**
 * 图总类别Service业务层处理
 *
 * @author Fan KaiXiang
 * @date 2022-08-30
 */
@Service
public class FormTotalChartServiceImpl implements IFormTotalChartService
{
    @Autowired
    private FormTotalChartMapper formTotalChartMapper;

    /**
     * 查询图总类别
     *
     * @param chartId 图总类别主键
     * @return 图总类别
     */
    @Override
    public FormTotalChart selectFormTotalChartByChartId(Long chartId)
    {
        return formTotalChartMapper.selectFormTotalChartByChartId(chartId);
    }

    /**
     * 查询图总类别列表
     *
     * @param formTotalChart 图总类别
     * @return 图总类别
     */
    @Override
    public List<FormTotalChart> selectFormTotalChartList(FormTotalChart formTotalChart)
    {
        return formTotalChartMapper.selectFormTotalChartList(formTotalChart);
    }

    /**
     * 查询图类别列表
     */
    @Override
    public List<String> selectFormType() {
        return formTotalChartMapper.selectFormType().stream().map(FormTotalChart::getChartType).collect(Collectors.toList());
    }

    /**
     * 新增图总类别
     *
     * @param formTotalChart 图总类别
     * @return 结果
     */
    @Override
    public int insertFormTotalChart(FormTotalChart formTotalChart)
    {
//        formTotalChart.setCreateTime(DateUtils.getNowDate());
        return formTotalChartMapper.insertFormTotalChart(formTotalChart);
    }

    /**
     * 修改图总类别
     *
     * @param formTotalChart 图总类别
     * @return 结果
     */
    @Override
    public int updateFormTotalChart(FormTotalChart formTotalChart)
    {
//        formTotalChart.setUpdateTime(DateUtils.getNowDate());
        return formTotalChartMapper.updateFormTotalChart(formTotalChart);
    }

    /**
     * 批量删除图总类别
     *
     * @param chartIds 需要删除的图总类别主键
     * @return 结果
     */
    @Override
    public int deleteFormTotalChartByChartIds(Long[] chartIds)
    {
        return formTotalChartMapper.deleteFormTotalChartByChartIds(chartIds);
    }

    /**
     * 删除图总类别信息
     *
     * @param chartId 图总类别主键
     * @return 结果
     */
    @Override
    public int deleteFormTotalChartByChartId(Long chartId)
    {
        return formTotalChartMapper.deleteFormTotalChartByChartId(chartId);
    }
}
